package com.tbit.uqbike.client.dao.core;

import com.tbit.uqbike.client.pojo.InvoiceTitle;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户发票抬头信息
 *
 * @Author:BUGTian
 * @DATE: 2023/9/4
 */
public interface InvoiceTitleDao {
    /**
     * 根据用户id查询用户发票抬头信息
     *
     * @param userId 用户id
     * @return
     */
    List<InvoiceTitle> getByUserId(@Param("userId") Integer userId);

    /**
     * 查询条数
     *
     * @param userId
     * @return
     */
    Integer count(@Param("userId") Integer userId);

    /**
     * 新增发票抬头信息
     *
     * @param invoiceTitle
     */
    void addInvoiceTitle(InvoiceTitle invoiceTitle);

    /**
     * 根据用户id重置所有的为默认状态
     *
     * @param userId
     */
    void reloadPriority(@Param("userId") Integer userId);

    /**
     * 根据主键id更新
     *
     * @param invoiceTitle
     */
    void updateInvoiceTitle(InvoiceTitle invoiceTitle);

    /**
     * 根据主键和用户id删除
     *
     * @param userId
     * @param invoiceTitleId
     */
    void deleteInvoiceTitle(@Param("userId") Integer userId, @Param("invoiceTitleId") Integer invoiceTitleId);
}
